#include "nodoevaluador.h"

#include "elementotexto.h"
#include "valor.h"
#include "fragmentoimpresion.h"
#include "nodoexpresion.h"

NodoEvaluador::NodoEvaluador(NodoExpresion* expresion) : NodoInforme()
{
    this->expresion = expresion;
}

NodoEvaluador::~NodoEvaluador()
{

}


void NodoEvaluador::generarElementos(FragmentoImpresion* fragmento)
{    
    if (expresion == NULL) {
        return;
    }
    Valor resultado = expresion->evaluar();
    QString texto = resultado.toString();
    ElementoTexto* elementoTexto = new ElementoTexto(texto);
    elementoTexto->setAutodectruible(true);
    fragmento->agregarElemento(elementoTexto);
}
    